package edu.langnan.xiaoli.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import edu.langnan.xiaoli.core.domain.ActivityDO;
import edu.langnan.xiaoli.core.domain.CarPoolDO;
import edu.langnan.xiaoli.core.dto.ActivityDTO;
import edu.langnan.xiaoli.core.dto.ActivityInfoDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author cql
 */
@Mapper
public interface ActivityMapper extends BaseMapper<ActivityDO> {


    /**
     * 获取活动列表 actType 0: 获取静态活动; 1: 获取动态活动; "": 获取所有
     *
     * @param actType
     * @return
     */
    List<ActivityDTO> activityList(String actType);

    /**
     * 获取用户参与过的活动
     *
     * @param stuId
     * @return
     */
    List<ActivityInfoDTO> stuActivityList(Integer stuId);

    /**
     * 修改信息
     *
     * @param activityId
     * @param oldVersion
     * @param newVersion
     * @param cur
     * @return
     */
    int updateActivityInfo(@Param("activityId") Integer activityId, @Param("oldVersion") String oldVersion, @Param("newVersion") String newVersion, @Param("cur") int cur);

    /**
     * 新增 stu_act 表,登记用户报名记录
     *
     * @param activityId
     * @param stuId
     * @param date
     */
    void insertStuAct(@Param("activityId") Integer activityId, @Param("stuId") Integer stuId, @Param("createTime") Date date);
}
